package com.gjh.ouygoing.task;

import com.gjh.ouygoing.entity.OrderInfo;
import com.gjh.ouygoing.service.OrderInfoService;
import com.gjh.ouygoing.service.WxPayService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.io.IOException;
import java.util.List;

/**
 * 定时任务的工具类
 */
@Component
@Slf4j
public class WxPayTask {
    /**
     *  用来得到订单的服务层
     */
    @Autowired
    private OrderInfoService orderInfoService;
    /**
     * 得到我的这个wxPay的service的对象
     */
    @Autowired
    private WxPayService wxPayService;

    /**
     * 用来设置我们的这个定时查询的操作
     * 相隔三十秒我们执行一次
     */
//   @Scheduled(cron = "0/30 * * * * ?")
   public void orderConfirm() throws Exception {
        List<OrderInfo> orderByDuration = orderInfoService.getNoOrderByDuration(1);//查找我当前的这个订单信息超过五分钟的订单信息
        for (OrderInfo orderInfo : orderByDuration) {
            System.out.println(orderInfo);//循环我的这个订单信息
            log.info("超时订单===>{}",orderInfo);
            wxPayService.checkOrderStatus(orderInfo.getOrderNo());//查询我们的这个微信支付状态的信息，并且核实我们的这个微信订单编号
        }
    }
}
